#ifndef _TELEMETRY_COMMANDS_H
#define _TELEMETRY_COMMANDS_H


//POST                            	do post	
const QString CommandHibernation("set hibern\n");	//Go to hibernation               	
const QString CommandFlight("set flight\n");	//Flight mode

//TV Cam Control		
const QString CommandTvOn("tv on\n");	//Power Bus Enable                	
const QString CommandTvOff("tv off\n");	//Power Bus Disable   

//Telemetry Transmitter Control		
const QString CommandTxon("tm tx on\n");	//TM Tx On                        	
const QString CommandTxOff("tm tx off\n");	//TM Tx Off       

//Marker LED Control		
const QString CommandLEDsOn("LEDs on\n");	//LEDs on	
const QString CommandLEDsOff("LEDs off\n");	//LEDs off	

//Inflation system		
const QString CommandUploadSeq("up seq\n");	//Upload sequence               	
const QString CommandDownloadSeq("down seq\n");	//Download sequence               	
const QString CommandTankOpen("tank open\n");	//Tank valve open                 	
const QString CommandTankClose("tank close\n");	//Tank valve close                	
const QString CommandThrusterOpen("thruster open\n");	//Thrsuter valve open             	
const QString CommandThrusterClose("thruster close\n");	//Thresuter valve close           	
const QString CommandICVTest("icv test\n");	//Control valve test step         	
const QString CommandStartSeq("start seq\n");	//Start Inflation Sequence	(starts inflation sequence. Sequence can be paused by any key. In pause mode the user is asked to continue or cancel.)
const QString CommandShowICVSeq("show icv seq\n");	//Show Inflation Sequence settings	
const QString CommandAnyKey("q\n");//this is some character - cf. CommandStartSeq
//Servos
//group movement		
const QString CommandCrServosRelease("cr rel\n");	//Move CR Servos to released position	(the following six commands exist in normal mode and servo mode)
const QString CommandCrServosLock("cr lock\n");		//Move CR Servos to locked position	
const QString CommandBoomsRelease("booms rel\n");	//Move Boom Servos to released position	
const QString CommandBoomsLock("booms lock\n");		//Move Boom Servos to locked position	
const QString CommandHoseClampOpen("hc open\n");	//open Hose Clamp Servo		
const QString CommandHoseClampClose("hc close\n");	//Close Hose Clamp Servo	

//Servo Setup Mode Commands		
const QString CommandServoSetupMode("servos\n");	//Enter Servo Setup Mode	
const QString CommandServoExitSetupMode("exit\n");	//Exit Servo Setup Mode	

//Selection commands:		(the following commands only work in servo mode)
const QString CommandSelectServoNumber("sel cr x\n");	//Select CR servo no. X each select powers down the other servo groups!
const QString CommandSelectBoomServoNumber("sel boom x\n");//Select Boom Servo no. X            		
const QString CommandSelectHoseClampServo("sel hc\n");	//Select Hose Clamp Servo	

//Operational commands:		the following commands all relate to the selected servo/s and only work with selected servo
const QString CommandServoOn("servo on\n");		//Servo Power On                  	
const QString CommandServoOff("servo off\n");	//Servo Power Off                 	
const QString CommandRotate("rotate\n");		//Rotate	(movement of servos with +/- keys)
const QString CommandSaveOpen("save open\n");
const QString CommandSaveRel("save rel\n");
const QString CommandSaveReleased("save released\n");//Save Open/Released position			all commands do the same, just for convenience :)
const QString CommandSaveClosed("save closed\n");
const QString CommandSaveLocked("save locked\n");	//Save Closed/Locked position			
const QString CommandToOpen("to open\n");
const QString CommandToRel("to rel\n");
const QString CommandToReleased("to released\n");	//Open (open position)		
const QString CommandToClose("to close\n");
const QString CommandToLocked("to locked\n");	//Close (closed position)		

//Timing
const QString CommandTiming("timing\n");	 //Timing setting mode	(after this command, an event name and value separated with a equal sign, will be awaited as follows:)
const QString CommandBoomDeploy("boom deploy=<value>\n");//Tv boom deployment
const QString CommandClampRingRelease("cr rel=<value>\n");//Clamp ring release	(Pod Separation from SM by CR Servos)
const QString CommandStartInfSeq("inf start=<value>\n");//Inf. Seq. Start                 	
const QString CommandStopInfSeq("inf term=<value>\n");	//Inf. Seq. Termination           	
const QString CommandHoseClampRelease("HC rel=<value>\n");//Hose Clamp release	(Hose Clamp release by HC Servo)
const QString CommandThrusterStart("thrust start=<value>\n");//Thruster pressurisation         		
const QString CommandThrusterOff("thrust off=<value>\n");	//Thrusters off                   		
const QString CommandWait1("wait1=<value>\n");	//wait 1                          		
const QString CommandWait2("wait2=<value>\n");	//wait 2                  		
const QString CommandWait3("wait3=<value>\n");	//wait 3                  		
const QString CommandWait4("wait4=<value>\n");	//wait 4                  		
const QString CommandHoseClampCancelTime("HC cancel=<value>\n");//HC Servo disable Time		(Time to disable servo power if end switch is not reached)
const QString CommandBoomDisableTime("boom cancel=<value>\n");	//Boom Servo disable Time		
const QString CommandCrDisableTime("CR cancel=<value>\n");		//CR Servo disable Time		
const QString CommandExitSettingMode("exit\n");	//Exit timing setting mode        	
const QString CommandShowSetTimings("show\n");//Show set timings                	

//Sensors		
const QString CommandAtmosValues("ATMOS values\n");	//Show Atmos Reading	
const QString CommandImuValues("IMU values\n");		//Show Reading of Gyros and Accs	
const QString CommandTempValues("temp values\n");	//Show Temperatures	

#endif

